package com.ruoyi.xiaoshou.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 销售订单对象 finer_sale_order
 *
 * @author ruoyi
 * @date 2024-10-30
 */
public class SaleOrder extends BaseEntity {
    private static final long serialVersionUID = 1L;
    private int cusId;
    /**
     * $column.columnComment
     */
    private Integer Id;
    private String requestOrderCode;
    /**
     * 订单编号
     */
    @Excel(name = "订单编号")
    private String code;

    /**
     * 客户
     */
    @Excel(name = "客户")
    private String CusName;
    private Integer orderStatus;
    /**
     * 总价
     */
    @Excel(name = "总价")
    private BigDecimal total;
    private BigDecimal costPrice;

    /**
     * 出库状态（0:等待出库，1:部分出库，2:完全出库）
     */
    @Excel(name = "出库状态", readConverterExp = "0=:等待出库，1:部分出库，2:完全出库")
    private Integer StockStatus;

    /**
     * 收款状态（0:等待收款，1:部分收款，2:完全收款，3:已挂帐）
     */
    @Excel(name = "收款状态", readConverterExp = "0=:等待收款，1:部分收款，2:完全收款，3:已挂帐")
    private Integer payStatus;

    private String auditName;
    private int outStockNum;
    private int outStockNumber;
    /**
     * 实收金额
     */
    @Excel(name = "实收金额")
    private BigDecimal PayMoney;
    private String remark;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createDate;
    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateDate;
    /**
     * 是否删除(0:未删除 1:删除)
     */
    private Integer isDel;
    private Integer isStockOut;

    public Integer getIsStockOut() {
        return isStockOut;
    }

    public void setIsStockOut(Integer isStockOut) {
        this.isStockOut = isStockOut;
    }

    public int getOutStockNum() {
        return outStockNum;
    }

    public void setOutStockNum(int outStockNum) {
        this.outStockNum = outStockNum;
    }

    public int getOutStockNumber() {
        return outStockNumber;
    }

    public void setOutStockNumber(int outStockNumber) {
        this.outStockNumber = outStockNumber;
    }

    public BigDecimal getCostPrice() {
        return costPrice;
    }

    public void setCostPrice(BigDecimal costPrice) {
        this.costPrice = costPrice;
    }

    @Override
    public String getRemark() {
        return remark;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }

    public int getCusId() {
        return cusId;
    }

    public void setCusId(int cusId) {
        this.cusId = cusId;
    }

    public Integer getOrderStatus() {
        return orderStatus;
    }

    public void setOrderStatus(Integer orderStatus) {
        this.orderStatus = orderStatus;
    }

    public Integer getId() {
        return Id;
    }

    public void setId(Integer Id) {
        this.Id = Id;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getRequestOrderCode() {
        return requestOrderCode;
    }

    public void setRequestOrderCode(String requestOrderCode) {
        this.requestOrderCode = requestOrderCode;
    }

    public BigDecimal getTotal() {
        return total;
    }

    public void setTotal(BigDecimal total) {
        this.total = total;
    }

    public String getAuditName() {
        return auditName;
    }

    public void setAuditName(String auditName) {
        this.auditName = auditName;
    }

    public String getCusName() {
        return CusName;
    }

    public void setCusName(String cusName) {
        CusName = cusName;
    }

    public Integer getStockStatus() {
        return StockStatus;
    }

    public void setStockStatus(Integer StockStatus) {
        this.StockStatus = StockStatus;
    }

    public Integer getPayStatus() {
        return payStatus;
    }

    public void setPayStatus(Integer payStatus) {
        this.payStatus = payStatus;
    }

    public BigDecimal getPayMoney() {
        return PayMoney;
    }

    public void setPayMoney(BigDecimal PayMoney) {
        this.PayMoney = PayMoney;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    public Integer getIsDel() {
        return isDel;
    }

    public void setIsDel(Integer isDel) {
        this.isDel = isDel;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("Id", getId())
                .append("total", getTotal())
                .append("StockStatus", getStockStatus())
                .append("payStatus", getPayStatus())
                .append("createBy", getCreateBy())
                .append("PayMoney", getPayMoney())
                .append("createDate", getCreateDate())
                .append("updateBy", getUpdateBy())
                .append("updateDate", getUpdateDate())
                .append("isDel", getIsDel())
                .toString();
    }
}
